# 读文件
# f = open('./file01.txt','r',encoding='utf-8')
# # f = open('./file01.txt')
# print(f.read())

# # with
# with open('./file01.txt',encoding='utf-8') as f:
    # print('read()：',f.read()) # 读取全部内容
    # f.seek(0) # 指针(读取位置)归零
    # print('read(8)：',f.read(8)) # 读取前8个字符
    # print('read(8)：',f.read(8)) # 接着再读8个字符
    # f.seek(0) # 指针(读取位置)归零
    # print('readline()：',f.readline()) # 读取一行
    # print('readline()：',f.readline()) # 接着再读取一行

# # 读二进制文件
# with open('./file01.txt','rb') as f:
    # print('二进制读：',f.read())

# # 写文件,'w'会把已存在的问题件覆盖，'a'可以在已存在的文件后面追加内容
# with open('./file02.txt','w') as f:
    # f.write('hello,这是写入的文件！')
# with open('./file02.txt','a') as f:
    # f.write('\nhello,这是追加写入的文件！')

# # StringIO
# from io import StringIO
# f = StringIO()
# # write()返回写入的字符串的长度
# print(f.write('hello'))
# print(f.write(' world！'))
# print(f.write(''))
# print(f.getvalue())

# # 为什么我这样写读出来每行之间又空了一行？
# f= StringIO('hello\nHi\nGoodbye')
# while True:
    # s = f.readline()
    # # if not s:
    # if s=='':
        # break
    # print(s)
    
# # BytesIO
# from io import BytesIO
# f = BytesIO()
# f.write('关中刀客'.encode('utf-8'))
# print(f.getvalue())
# f.seek(0)# 让光标移动到开头，否则写入的不能直接读出
# print(f.read())
# f = BytesIO(b'\xe5\x85\xb3\xe4\xb8\xad\xe5\x88\x80\xe5\xae\xa2')
# print(f.read())

import os
# print(os.name) #windows上是nt
# # print(os.uname()) #windows上报错
# print('所有环境变量：\n',os.environ)
# print('PATH环境变量：\n',os.environ.get('PATH'))
# print('当前目录的绝对路径：',os.path.abspath('.'))

# # 创建和删除目录
# abspath = os.path.abspath('.')
# #合并路径，使用os.path.join()方法，直接拼字符串容易在不同平台斜杠上造成错误
# newpath = os.path.join(abspath,'testdir')
# os.mkdir(newpath) # 创建
# os.rmdir(newpath)

# 拆分路径
# print(os.path.split(newpath))
# 拆分扩展名 这些合并、拆分的函数并不要求文件或目录真实存在，只是对字符串进行操作
print(os.path.splitext('/path/to/file.txt'))

with open('./test.txt','a') as f:
    f.write('hello')
#修改文件名称
os.rename('test.txt','test.py')
#删除文件
os.remove('test.py')
# # 复制文件
# from shutil import copyfile
# try:
    # # 如果目标文件已存在，则会覆盖
    # copyfile('./file01.txt','./file01_copy.txt')
# except IOError as e:
    # print('复制文件出错：', e)
# except:
    # print('未知错误：', sys.exc_info())
    # exit(1)
# print('文件复制完毕')

#列出指定目录下的所有目录
# 发现非当前目录下的目录无法准确判断，结果都为False
# dirs = [x for x in os.listdir('../../')]
# for d in dirs:
    # print(d,os.path.isdir(d))
dirs = [x for x in os.listdir('.') if os.path.isdir(x)]
print(dirs)
pys = [x for x in os.listdir('.') if os.path.splitext(x)[-1]=='.py']
print(pys)
# 作业，略











